package com.zhuiyun.project.api.coachmanagement.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhuiyun.project.api.coachmanagement.entity.CoachManagement;
import com.zhuiyun.project.api.coachmanagement.model.CoachAddModel;
import com.zhuiyun.project.api.coachmanagement.model.CoachIdModel;
import com.zhuiyun.project.api.coachmanagement.model.SelectStudentModel;
import com.zhuiyun.project.api.memberUserManagement.entity.MemberUserManagement;
import com.zhuiyun.project.api.plan.fitnessPurpose.entity.FitnessPurpose;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @InterfaceName CoachManagementMapper
 * @Description TODO
 * @Author wuwan
 * @Date 2023/11/2 13:40
 **/
@Mapper
public interface CoachManagementMapper extends BaseMapper<CoachManagement> {
    /*
    * @Author wuwan
    * @Description 添加教练信息
    * @Date 2023/11/8 16:09
    * @Return
    */
    Integer addCoach(CoachManagement coachManagement);
    /*
    * @Author wuwan
    * @Description 教练信息分页查询
    * @Date 2023/11/8 16:10
    * @Return
    */
    List<CoachManagement> selectCoach(String venueUniqueIdentifier,String coachName, String coachPhone);
    /*
    * @Author wuwan
    * @Description 修改教练信息
    * @Date 2023/11/10 10:22
    * @Return
    */
    Integer updCoach(CoachManagement coachManagement);
    /*
     * @Author wuwan
     * @Description 根据邀请码查询教练id
     * @Date 2023/11/6 10:10
     * @Return
     */
    CoachIdModel getCoachId(String coachCode);

    /**
    * @Author 杨友朋
    * @Description 根据id查询教练
    * @Date 2023/11/28 9:24
    * @Return CoachManagement
    * @param id
    */
    CoachAddModel getCoachById(int id);

    /**
     * @Author 杨友朋
     * @Description 根据教练邀请码查询学员
     * @Date 2023/11/28 9:24
     * @Return CoachManagement
     * @param coachCode
     */
    List<SelectStudentModel> getStudentByTeacherId(String coachCode);
    /**
     * @Author 杨友朋
     * @Description 根据教练邀请码查询学员
     * @Date 2023/11/28 9:24
     * @Return CoachManagement
     * @param coachCode
     */
    SelectStudentModel getStudentByTeacherIdUser(Integer userid, String coachCode);

    /**
     * @Author wx
     * @Description 根据invitationCode查询单教练的数据
     * @Date 2023/12/3 18:51
     * @Return
     * @param venueUniqueIdentifier
     */
    CoachManagement selectByInvitationCode(String invitationCode, String venueUniqueIdentifier);

    List<CoachManagement> getCoachByVenueUniqueIdentifier(String venueUniqueIdentifier);

    void DeleteMemberPlan(Integer id);

    /**
    * @Author 赵雷棚
    * @Description 根据教练id查询教练图片字段
    * @Date 2024/6/4 9:55
    * @Return com.zhuiyun.project.api.coachmanagement.entity.CoachManagement
    * @param id
    */
    CoachManagement getCoachManagementImgById(Integer id);
}
